"""Definition of the Desarrollo content type
"""

from AccessControl import ClassSecurityInfo

from zope.interface import implements, directlyProvides

from Products.Archetypes import atapi
from Products.ATContentTypes.content import base
from Products.ATContentTypes.content import schemata

from guegue.alcaldias import alcaldiasMessageFactory as _
from guegue.alcaldias.interfaces import IDesarrollo
from guegue.alcaldias.config import PROJECTNAME

DesarrolloSchema = schemata.ATContentTypeSchema.copy() + atapi.Schema((

    # -*- Your Archetypes field definitions here ... -*-
    atapi.StringField('title',
                searchable=1,
                isMetadata=0,
                accessor='Title',
                widget=atapi.StringWidget(label='Título',
                                      maxlength=150,
                                      size=30,
                                      label_msgid="label_entry_title",
                                      description_msgid="help_entry_title",
                                      i18n_domain="guegue.alcaldias",
                                      description='')),
    atapi.StringField('description',
                searchable=1,
                isMetadata=0,
                accessor='Description',
                widget=atapi.TextAreaWidget(label='Presentación',
                                      label_msgid="label_entry_description",
                                      description_msgid="help_entry_description",
                                      i18n_domain="guegue.alcaldias",
                                      description='Entre una breve descripción de la desarrollo.')),
    atapi.TextField('body',
              searchable=1,
              required=0,
              default_content_type='text/html',
              default_output_type='text/html',
              allowable_content_types=('text/plain','text/structured', 'text/html', 'text/restructured'),
              widget=atapi.RichWidget(label='Introducción',
                                label_msgid="label_entry_body",
                                description_msgid="help_entry_body",
                                i18n_domain="guegue.alcaldias",
                                description=".")),
    atapi.TextField('vision',
              searchable=1,
              required=0,
              default_content_type='text/html',
              default_output_type='text/html',
              allowable_content_types=('text/plain','text/structured', 'text/html', 'text/restructured'),
              widget=atapi.RichWidget(label='Visión de Desarrollo',
                                label_msgid="label_entry_vision",
                                description_msgid="help_entry_vision",
                                i18n_domain="guegue.alcaldias",
                                description=".")),
    atapi.TextField('estrategia',
              searchable=1,
              required=0,
              default_content_type='text/html',
              default_output_type='text/html',
              allowable_content_types=('text/plain','text/structured', 'text/html', 'text/restructured'),
              widget=atapi.RichWidget(label='Estrategia de Desarrollo',
                                label_msgid="label_entry_estrategia",
                                description_msgid="help_entry_estrategia",
                                i18n_domain="guegue.alcaldias",
                                description="")),
    atapi.TextField('diagnostico',
              searchable=1,
              required=0,
              default_content_type='text/html',
              default_output_type='text/html',
              allowable_content_types=('text/plain','text/structured', 'text/html', 'text/restructured'),
              widget=atapi.RichWidget(label='Diagnóstico y Síntesis Sectorial: Mesas de Concertación Sectorial',
                                label_msgid="label_entry_diagnostico",
                                description_msgid="help_entry_diagnostico",
                                i18n_domain="guegue.alcaldias",
                                description=".")),
    atapi.TextField('lineas',
              searchable=1,
              required=0,
              default_content_type='text/html',
              default_output_type='text/html',
              allowable_content_types=('text/plain','text/structured', 'text/html', 'text/restructured'),
              widget=atapi.RichWidget(label='Líneas Estratégicas Sectoriales para Superar la Pobreza',
                                label_msgid="label_entry_lineas",
                                description_msgid="help_entry_lineas",
                                i18n_domain="guegue.alcaldias",
                                description="")),
    atapi.TextField('proyectosm',
              searchable=1,
              required=0,
              default_content_type='text/html',
              default_output_type='text/html',
              allowable_content_types=('text/plain','text/structured', 'text/html', 'text/restructured'),
              widget=atapi.RichWidget(label='Banco de Proyectos para el Mediano Plazo',
                                label_msgid="label_entry_proyectosm",
                                description_msgid="help_entry_prpyectosm",
                                i18n_domain="guegue.alcaldias",
                                description="")),
    atapi.TextField('proyectosl',
              searchable=1,
              required=0,
              default_content_type='text/html',
              default_output_type='text/html',
              allowable_content_types=('text/plain','text/structured', 'text/html', 'text/restructured'),
              widget=atapi.RichWidget(label='Banco de Proyectos para el Largo Plazo',
                                label_msgid="label_entry_proyectosl",
                                description_msgid="help_entry_prpyectosl",
                                i18n_domain="guegue.alcaldias",
                                description="")),
    atapi.TextField('acciones',
              searchable=1,
              required=0,
              default_content_type='text/html',
              default_output_type='text/html',
              allowable_content_types=('text/plain','text/structured', 'text/html', 'text/restructured'),
              widget=atapi.RichWidget(label='Acciones Inmediatas',
                                label_msgid="label_entry_acciones",
                                description_msgid="help_entry_acciones",
                                i18n_domain="guegue.alcaldias",
                                description="")),
    atapi.FileField('adjunto',
              searchable=0,
              required=0,
              widget=atapi.FileWidget(label='Documento completo',
                                label_msgid="label_entry_adjunto",
                                description_msgid="help_entry_adjunto",
                                i18n_domain="guegue.alcaldias",
                                description='Archivo completo')),

))

# Set storage on fields copied from ATContentTypeSchema, making sure
# they work well with the python bridge properties.

schemata.finalizeATCTSchema(DesarrolloSchema, moveDiscussion=False)

class Desarrollo(base.ATCTContent):
    """Tipo de datos para plan de desarrollo municipal"""
    implements(IDesarrollo)

    portal_type = "Desarrollo"
    schema = DesarrolloSchema

    #title = atapi.ATFieldProperty('title')
    #description = atapi.ATFieldProperty('description')

atapi.registerType(Desarrollo, PROJECTNAME)
